|
MC68000(エムシーろくまんはっせん)、68000は米・モトローラ(現フリースケール・セミコンダクタ)が開発したMPU(MPUはマイクロプロセッサを指すのにモトローラが使った語でマイクロプロセッシングユニットの略)である。略して68K(ろくはちケー)などとも。後継MPUも含めた同一アーキテクチャのシリーズを総称するときは、680x0と呼称される。モトローラ自体は周辺LSIを含めてM68000ファミリと呼称した。MC型番は量産ロットで、量産先行品はXC型番となる。 == 歴史 == 68000 は1976年に開始された MACSS(Motorola Advanced Computer System on Silicon)プロジェクトから出てきたものである。従来製品との互換性を考慮するような妥協したアーキテクチャにはしないということが開発の初期に決定されていた。これは、利用者がその新システムを一から新たに学ぶ必要があることを意味しており、一種の賭けだった。最終的に、6800系の周辺デバイスとのインタフェースの互換性だけは持つこととなったが、6800のコードは実行できないものとなった。しかし、その後の拡張における互換性には最大限の注意が払われ、68000 に乗り換えさえすれば今後が保証されるようにした。例えば、CPUのレジスタは32ビット幅とされたが、外部バスはより小さく設計され、アドレスバスは24ビット幅であり、データバスは16ビット幅となっている。MACSSチームは、PDP-11やVAXシステムのようなミニコンピュータのプロセッサに影響を受けた。命令セットはハードウェアの制限よりもソフトウェア開発の観点で設計された。そこには、ミニコンピュータでの開発になれた技術者がプログラミングしやすいものにしようとの考えがあった。 開発が進むと同時に、製品名の選定が行われた。"68000" という名称は 6800 との連続性を想起させるよう選択されたが、これらの間に設計上の類似点はあまりない。集積されたトランジスタ数が 68,000 だったからとも言われているが、実際には 70,000 に近かった。 当時、8ビットから16ビットへの移行で熾烈な競争が繰り広げられていた。ナショナル セミコンダクターは1973年から1975年にかけて IMP-16 と PACE というプロセッサで一歩先んじたが、使用したプロセス技術が原因で、性能に問題を抱えていた。次にテキサス・インスツルメンツが TMS9900 をリリースしたが、広く使われるには至らなかった。そして、1977年にインテルが8086をリリースした。しかし、モトローラのマーケティング部門は 68000 をより完全な16ビット設計にすることが重要と考えた。このため、68000はハードウェアとしては複雑なものとなった。複雑さの指標としてトランジスタ数を見ると、8086は29000個であり、68000は前述のように70000近い。 68000の単純な命令は4クロックサイクルで実行できたが、複雑な命令の実行にはもっと時間がかかった。8MHzの68000で、平均性能は約1MIPS弱だった。 典型的なプログラムで平均をとると、68000 のコードはインテルのプロセッサよりも一命令あたりにできることが多く、コードのサイズが小さくて済んだ。また、8086が、8080との互換性を重視した結果、汎用レジスタの不足や実行速度の低下に苦しんだ事に対して、十分な数のレジスタと、当時としては先進的な内部設計のため、実行速度の面では8086に対して優位に立っていた。さらに68000は24ビットリニアアドレッシングによって最大16MBの連続するメモリ空間をサポートし、この空間内の任意のアドレスへのダイレクトアクセスを可能としている。これは開発当時としては非常に広大なメモリ空間だった。これに対し8086は従来の8080との間でソフトウェアのアセンブリ言語レベル(注: バイナリレベルではない)での互換性のため、従来と同じ16ビットのアドレッシングを「オフセット」とし、「セグメント」と称する(詳細はセグメント方式#x86を参照)16ビットレジスタの値を4ビットシフトしてベースアドレスとする、20ビット空間のノンリニアアドレッシングだった。そのため、64Kバイトを超えるデータやコードを扱うにはセグメントレジスタの値を適宜変更する必要があり、面倒であった。32ビットアドレッシングは、x86では1986年の80386で初めて可能になった。 このような事情から68000は8086と比較して学習が容易で使いやすく、開発者に好まれた。 オリジナルのMC68000は、3.5μmルールのHMOSプロセスで製造された。技術サンプルは1979年末に出荷された。量産チップは1980年に出荷され、当初のクロック周波数は 4, 6, 8MHzだった。10MHz版は1981年、12.5MHz版が1982年に登場している。HMOS では最高速の 16.67MHz版(12F)は1980年代終盤まで生産されなかった。 メモリ量の少ないシステム向けの低価格版として1982年に MC68008 が登場した。これは MC68000 の8ビットデータバス版であり、アドレスバスも当初は24ビットよりも縮小され、48ピンDIP版は20ビット。後の52ピンPLCCパッケージ版では22ビットである。MC68012 は後に31ビットアドレスバスで登場した。 68HC000 はモトローラと日立製作所が1985年にリリースしたオリジナルとピン配置互換のHCMOS版である。モトローラのものは MC68HC000、日立のものは HD68HC000 と呼ばれた。68HC000 では8MHzから20MHzまでのクロック周波数が可能となった。また CMOS 化されただけでオリジナルと機能が全く変わらず、かつ電力消費が低減されている。オリジナル版は 25℃の環境で約1.35ワットを消費した(クロック周波数に依存しない)。一方、MC68HC000 は 8MHz で 0.13ワット、20MHz で 0.38ワットしか消費しない。なお、CMOSとは異なり、HMOS回路の電力消費はスイッチング時も何もしていないときも一定である。従って、クロック周波数が違っても電力消費はほとんど変化しない。ただし、周囲の気温には影響される。 モトローラは1990年、MC68HC001 をリリースした〔"68HC001 obsoletes 68008." , Microprocessor Report, 1990年6月20日; available from HighBeam Research (subscription).〕。このチップは 68HC000 と仕様がほぼ共通であるが、データバスに16ビット幅と8ビット幅の2つのモードが用意されており、リセット時のピンへの入力でモード選択が行えるようになっていた。従って、このチップは68008 の代替として 8ビットメモリを使った安価なシステムで利用できた。 HMOS版の68000はいくつかのセカンドソース企業で製造された。日立(HD68000)、Mostek(MK68000)、ロックウェル(R68000)、シグネティックス(SCN68000)、Thomson/SGS-Thomson(EF68000, TS68000)、東芝(TMP68000)などである。東芝はCMOS版の 68HC000 のセカンドソースでもあった(TMP68HC000)。また、後にシグネティックス社がアーキテクチャ互換のSCC68070を製造した。 SCC68070は、現在フィリップス社が版権を持つ。 68000 は数々のマイクロコントローラや組み込み用プロセッサのベースにもなった。1989年、モトローラは MC68302 通信プロセッサをリリースした。これが 68000 CPUコアを使用した最初のマイクロコントローラだった。このコアは CMOS 版の 68HC000 をベースとしているが、8ビットの 6800 周辺チップとのインターフェース機能が省略されている。1991年、モトローラはここからプロセッサ部分だけを抜き出した MC68EC000 をリリースした〔"Motorola streamlines 68000 family; "EC" versions of 68000, '020, '030, and '040, plus low-end 68300 chip." , Microprocessor Report, 1991年4月17日; available from HighBeam Research (subscription).〕。 モトローラは 68EC000 コアを使ったいくつかのマイクロコントローラを開発した。MC68306 と MC68307 は汎用マイクロコントローラ、MC68322 "Bandit" はプリンターコントローラ、MC68356 はモデム用、MC68328 DragonBall は携帯機器向けだった。他のマイクロコントローラとして683XXファミリは、より強力な CPU32 プロセッサコアを使っていた。 68EC000ベースの 683XX マイクロコントローラの一部にはスタティック版の 68EC000 コアが使われた。この場合クロックを遅くしたり停止させたりして電力消費を抑えることができる。1996年、モトローラはこのスタティックコアをプロセッサとして独立させ、MC68SEC000 としてリリースした〔"Motorola reveals MC68SEC000 processor for low power embedded applications" , Motorola press release, 1996年11月18日; archived by Internet Archive on 1997年3月28日.〕。 モトローラは1996年、HMOS版 MC68000 と MC68008 の製造を終了した〔comp.sys.m68k Usenet posting , 1995年5月16日; 同スレッド内の他のポストも参照されたい。〕。生産終了の予告は1994年末ごろなされた。モトローラの通常の手順からいけば、1995年まで注文を受け付け、最後の出荷は1996年になったということになる。その後スピンオフしたフリースケール・セミコンダクタは現在も MC68HC000、MC68HC001、MC68EC000、MC68SEC000 を製造販売し続けている。また、MC68302 や MC68306 マイクロコントローラやその後の DragonBall ファミリも生産し続けている。68000 のアーキテクチャを受け継いだ 680x0、CPU32、Coldfire も生産されている。 後継のMC68020からは外部データバス、アドレスバス共に32ビットの、名実共に32ビットのCPUとなり、コプロセッサがサポートされた。ソフトウェア的には、アドレッシングモードが拡張されたほか、ユーザーモードではほぼ MC68000 の上位互換だった。一部互換性のない部分は、存在しない命令を実行しようとしたときに割り込みでトラップ処理することで、ソフト的に吸収することができた。この MC68020 や、後継の MC68030 は数多くのワークステーションで採用された。 なおRISCであるPowerPCシリーズとの互換性はなく、同プロセッサを搭載したMacintoshではMC68LC040をエミュレーションしている。 RISC技術を採用したColdFireシリーズは、68000から使用頻度の低い命令の多くを削除した下位互換の組み込み用プロセッサである。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「MC68000」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Motorola 68000 」があります。 スポンサード リンク
|